/**
 * 对session的操作
 */
module.exports = {
  /**
   * 设置登录用户信息到session中，目前只需要电话和代理商id
   * @param req
   * @param user
   */
  setUserIntoSession(req,user){
    let loginUser = {phone:user.phone,agentId:user.agentId,wechatInfoId:user.id}
    SessionUtil.setSessionValue(req,"user",loginUser)
  },
  /**
   * 清空登录相关session信息
   * @param req
   */
  clearLoginSession(req,clearWechat){
    SessionUtil.clearSession(req,"user");
    req.session.user = null;
    if(clearWechat){
      SessionUtil.clearSession(req,"wechat");
    }
  },
  /**
   * 根据属性名设置session的值
   * @param req
   * @param key 属性名，必须在允许的列表中，允许的值参见常量SESSION_KEY
   */
  setSessionValue(req,key,value){
    if(SessionKey[key]){
      req.session[key] = value;
    }else{
      throw new Error("无效的session属性："+key);
    }
  },
  /**
   * 按照属性名称清除session中的值
   * @param req
   * @param key
   */
  clearSession(req,key){
    if(req.session[key]){
      req.session[key] = null;
    }
  }
}
